/*
 * StatementDemo.java
 *
 * Created on 29 de marzo de 2005, 19:15
 */

package jdbc_01;

public class StatementExecuteDemo {
    
    final String PROYECTOS = "Create Table proyectos "
             			   + "( idproye smallint not null"
             			   + ", proyecto varchar(30) not null )"; 
    
    final String DEPARTAMENTOS = "Create Table departamentos "
        				   + "( iddepto smallint not null"
        				   + ", departamento varchar(30) not null )"; 
    
    final String EMPLEADOS = "Create Table empleados "
        				   + "( nroemp smallint not null"
        				   + ", nombre varchar(30) not null"
        				   + ", nacimiento datetime null"
        				   + ", idproye smallint null"
        				   + ", iddepto smallint null )"; 
    
	final String KEY_PROYECTOS = "Alter Table proyectos "
	   	+ "add constraint proy_pk primary key(idproye)";  
	
	final String KEY_DEPARTAMENTOS = "Alter Table departamentos "
		+ "add constraint dpto_pk primary key(iddepto)"; 
	
	final String KEY_EMPLEADOS = "Alter Table empleados "
		+ "add constraint empl_pk primary key(nroemp)," 
		+ "constraint empl_fk_proy foreign key(idproye) references proyectos,"
		+ "constraint empl_fk_dpto foreign key(iddepto) references departamentos";    
    
    Conexion con;
    
    StatementExecuteDemo() {
        Conexion.driverOdbc();
        con = new Conexion("empleados", "empleados", "empleados");
        if (con.abrirConexion()) {
            crearTablas();
            con.cerrarConexion();
        }
    }
    
    void crearTablas(){
        javax.swing.JTextArea jta = new javax.swing.JTextArea(10,40);
        try {
        	java.sql.Statement stmt = con.getCon().createStatement();
                jta.append("B.D. en uso: ");
                jta.append(con.getCon().getCatalog()); 
            stmt.execute(this.PROYECTOS);
            stmt.execute(this.KEY_PROYECTOS);
                jta.append("\ncreo tabla proyectos. ");
            stmt.execute(this.DEPARTAMENTOS);
            stmt.execute(this.KEY_DEPARTAMENTOS);            
                jta.append("\ncreo tabla departamentos. ");
            stmt.execute(this.EMPLEADOS);
            stmt.execute(this.KEY_EMPLEADOS);            
                jta.append("\ncreo tabla empleados. ");
            stmt.close();
        } catch (java.sql.SQLException e) {
            jta.setText(e.getMessage());
        } finally {
            javax.swing.JOptionPane.showMessageDialog(null, 
                                new javax.swing.JScrollPane(jta));
        }
    }
    
    public static void main(String[] args) {
        new StatementExecuteDemo();
        System.exit(0);
    }
    
}